package com.gitee.qdbp.general.common.api.oplog.model;

import com.gitee.qdbp.base.annotation.DataIsolation;
import com.gitee.qdbp.base.annotation.OperateTraces;
import com.gitee.qdbp.base.controlling.OperateTracesBean;

/**
 * 操作记录明细更新类
 *
 * @author zhh
 * @version 170522
 */
@OperateTraces(enable = false)
@DataIsolation(enable = false)
public class OperateTracesUpdate extends OperateTracesBean {

    /** 版本序列号 **/
    private static final long serialVersionUID = 1L;

    /** 主表ID是否更新为空值 **/
    private Boolean recordIdToNull;

    /** 租户编号是否更新为空值 **/
    private Boolean tenantCodeToNull;

    /** 操作类型(0.查询|1.新增|2.更新|3.删除)是否更新为空值 **/
    private Boolean operateTypeToNull;

    /** 数据类型是否更新为空值 **/
    private Boolean dataTypeToNull;

    /** 数据ID是否更新为空值 **/
    private Boolean dataIdToNull;

    /** 数据编号是否更新为空值 **/
    private Boolean dataCodeToNull;

    /** 数据值是否更新为空值 **/
    private Boolean dataValueToNull;

    /** 数据描述是否更新为空值 **/
    private Boolean dataDescToNull;

    /** 执行描述是否更新为空值 **/
    private Boolean executeDescToNull;

    /** 执行方法是否更新为空值 **/
    private Boolean executeMethodToNull;

    /** 执行时间是否更新为空值 **/
    private Boolean executeTimeToNull;
    /** 执行时间的增加值 **/
    private Integer executeTimeAdd;

    /** 受影响行数是否更新为空值 **/
    private Boolean affectedRowsToNull;
    /** 受影响行数的增加值 **/
    private Integer affectedRowsAdd;

    /** 更新操作的条件 **/
    private OperateTracesWhere where;

    /** 判断主表ID是否更新为空值 **/
    public Boolean isRecordIdToNull() {
        return recordIdToNull;
    }

    /** 设置主表ID是否更新为空值 **/
    public void setRecordIdToNull(Boolean recordIdToNull) {
        this.recordIdToNull = recordIdToNull;
    }

    /** 判断租户编号是否更新为空值 **/
    public Boolean isTenantCodeToNull() {
        return tenantCodeToNull;
    }

    /** 设置租户编号是否更新为空值 **/
    public void setTenantCodeToNull(Boolean tenantCodeToNull) {
        this.tenantCodeToNull = tenantCodeToNull;
    }

    /** 判断操作类型(0.查询|1.新增|2.更新|3.删除)是否更新为空值 **/
    public Boolean isOperateTypeToNull() {
        return operateTypeToNull;
    }

    /**
     * 设置操作类型(0.查询|1.新增|2.更新|3.删除)是否更新为空值
     *
     * @param operateTypeToNull 操作类型(0.查询|1.新增|2.更新|3.删除)是否更新为空值
     * @deprecated 该字段为非空字段
     */
    @Deprecated
    public void setOperateTypeToNull(Boolean operateTypeToNull) {
        this.operateTypeToNull = operateTypeToNull;
    }

    /** 判断数据类型是否更新为空值 **/
    public Boolean isDataTypeToNull() {
        return dataTypeToNull;
    }

    /** 设置数据类型是否更新为空值 **/
    public void setDataTypeToNull(Boolean dataTypeToNull) {
        this.dataTypeToNull = dataTypeToNull;
    }

    /** 判断数据ID是否更新为空值 **/
    public Boolean isDataIdToNull() {
        return dataIdToNull;
    }

    /** 设置数据ID是否更新为空值 **/
    public void setDataIdToNull(Boolean dataIdToNull) {
        this.dataIdToNull = dataIdToNull;
    }

    /** 判断数据编号是否更新为空值 **/
    public Boolean isDataCodeToNull() {
        return dataCodeToNull;
    }

    /** 设置数据编号是否更新为空值 **/
    public void setDataCodeToNull(Boolean dataCodeToNull) {
        this.dataCodeToNull = dataCodeToNull;
    }

    /** 判断数据值是否更新为空值 **/
    public Boolean isDataValueToNull() {
        return dataValueToNull;
    }

    /** 设置数据值是否更新为空值 **/
    public void setDataValueToNull(Boolean dataValueToNull) {
        this.dataValueToNull = dataValueToNull;
    }

    /** 判断数据描述是否更新为空值 **/
    public Boolean isDataDescToNull() {
        return dataDescToNull;
    }

    /** 设置数据描述是否更新为空值 **/
    public void setDataDescToNull(Boolean dataDescToNull) {
        this.dataDescToNull = dataDescToNull;
    }

    /** 判断执行描述是否更新为空值 **/
    public Boolean isExecuteDescToNull() {
        return executeDescToNull;
    }

    /** 设置执行描述是否更新为空值 **/
    public void setExecuteDescToNull(Boolean executeDescToNull) {
        this.executeDescToNull = executeDescToNull;
    }

    /** 判断执行方法是否更新为空值 **/
    public Boolean isExecuteMethodToNull() {
        return executeMethodToNull;
    }

    /** 设置执行方法是否更新为空值 **/
    public void setExecuteMethodToNull(Boolean executeMethodToNull) {
        this.executeMethodToNull = executeMethodToNull;
    }

    /** 判断执行时间是否更新为空值 **/
    public Boolean isExecuteTimeToNull() {
        return executeTimeToNull;
    }

    /** 设置执行时间是否更新为空值 **/
    public void setExecuteTimeToNull(Boolean executeTimeToNull) {
        this.executeTimeToNull = executeTimeToNull;
    }

    /** 获取执行时间的增加值 **/
    public Integer getExecuteTimeAdd() {
        return executeTimeAdd;
    }

    /** 设置执行时间的增加值 **/
    public void setExecuteTimeAdd(Integer executeTimeAdd) {
        this.executeTimeAdd = executeTimeAdd;
    }

    /** 判断受影响行数是否更新为空值 **/
    public Boolean isAffectedRowsToNull() {
        return affectedRowsToNull;
    }

    /** 设置受影响行数是否更新为空值 **/
    public void setAffectedRowsToNull(Boolean affectedRowsToNull) {
        this.affectedRowsToNull = affectedRowsToNull;
    }

    /** 获取受影响行数的增加值 **/
    public Integer getAffectedRowsAdd() {
        return affectedRowsAdd;
    }

    /** 设置受影响行数的增加值 **/
    public void setAffectedRowsAdd(Integer affectedRowsAdd) {
        this.affectedRowsAdd = affectedRowsAdd;
    }

    /** 获取更新操作的条件 **/
    public OperateTracesWhere getWhere() {
        return where;
    }

    /** 获取更新操作的条件, force=是否强制返回非空条件 **/
    public OperateTracesWhere getWhere(boolean force) {
        if (where == null && force) {
            where = new OperateTracesWhere();
        }
        return where;
    }

    /** 设置更新操作的条件 **/
    public void setWhere(OperateTracesWhere where) {
        this.where = where;
    }
}